home *** CD-ROM | disk | FTP | other *** search
/ Just Call Me Internet / Just Call Me Internet.iso / prog / atari / c / stngpasm / stngpasm.doc < prev   
Text File  |  1997-08-19  |  8KB  |  177 lines

  1. ;----------------------------------------------------------------------------
  2. ;File name:    STNGPASM.DOC            Revision date:    1997.08.19
  3. ;Creator:    Ulf Ronald Andersson        Creation date:    1997.08.01
  4. ;(c)1997 by:    Ulf Ronald Andersson        All rights reserved
  5. ;Feedback to:    dlanor@oden.se            Released as FREEWARE
  6. ;----------------------------------------------------------------------------
  7. ;--- !!! ---  Please read the full text below at least once.  --- !!! ---
  8. ;This will help you avoid some simple but otherwise inescapable problems.
  9. ;----------------------------------------------------------------------------
  10.  
  11. STNGPASM Introduction:
  12. ----------------------
  13.  
  14. STNGPASM is a development package for STinG (ST internet new Generation),
  15. the TCP/IP stack created by Peter Rottengatter as a replacement for STiK.
  16.  
  17. This package will allow programmers to use PASM, the Pure_C assembler for
  18. creating STinG modules, clients, and servers in pure assembly language,
  19. but with almost the same ease as when writing in a high level language.
  20.  
  21. This is accomplished by extensive use of macros, defining not only short
  22. forms for system calls (as is the custom), but also for creating new data
  23. structures and assembly-time control structures of various kinds.
  24.  
  25. Most of this can be transparent to a user of the macro libraries, that is:
  26. he/she does not have to bother knowing about it even..., but when a need
  27. arises for these features they are ready and waiting.
  28.  
  29. Naturally these libraries will be updated as new needs and ideas come up.
  30.  
  31. ;----------------------------------------------------------------------------
  32.  
  33. Package manifest:
  34. -----------------
  35.  
  36. NB: This manifest looks horrible unless your TAB spacing is 8 characters.
  37.  
  38. STNGPASM\        The main folder represents the root directory where
  39.             you have your PURE_C\ folder.
  40.  
  41.     PURE_C\        The stuff in this folder should be copied to your
  42.             own PURE_C\ folder, and a subfolder
  43.  
  44.     INCLUDE\    The stuff in this folder should be copied to the
  45.             INCLUDE\ folder in your own PURE_C\ folder
  46.  
  47.         STING\    This folder contains C-header (.H), PASM-header (.SH)
  48.             and PASM-code (.S) files specific for STinG development
  49.  
  50.         DOMAIN.SH    Defines macros useful to manipulate domain
  51.                 names (can be used for other strings too)
  52.  
  53.         LAYER.SH    PASM version of LAYER.H, defines important
  54.                 structures and macros of STX module programs
  55.  
  56.         NET_TCON.SH    Defines macros and structures to handle network
  57.                 time conversions (+ timezone & daylight saving)
  58.  
  59.         TRANSPORT.SH    PASM version of TRANSPRT.H, defines important
  60.                 structures and macros of client/server programs
  61.  
  62.         PORT.SH        PASM version of PORT.H, defines structures and
  63.                 constants for port STX modules
  64.  
  65.         _SKELTON.SH    Template for future .SH files
  66.  
  67.  
  68.         URAN\    This folder contains PASM-header (.SH) and PASM-code
  69.             (.S) files for general high level programming needs.
  70.  
  71.         PATH_LIB.S    Subroutines to manipulate file paths
  72.         URAN_ARG.S    ARGV handler code
  73.         STRUCT.SH    Macros for C-like structure declarations
  74.         URAN_APP.SH    General all purpose application header macro
  75.         URAN_AV.SH    Macros for full AV protocol (and MP protocol)
  76.         URAN_BPP.SH    Macro for active basepage pointer access
  77.         URAN_DOS.SH    Macros for GEMDOS, BIOS and XBIOS
  78.         URAN_ENV.SH    Macros for manipulating environment strings
  79.         URAN_GEM.SH    Macros for GEM AES and VDI
  80.         URAN_JAR.SH    Macros for cookie jar manipulation
  81.         URAN_LA.SH    Macros for Line-A variable access (still valid)
  82.         URAN_SIM.SH    Simulates a few GEM functions for TOS/TTP
  83.         URAN_SYS.SH    Assemblytime control macros and constants
  84.         URAN_XB.SH    XBRA protocol for vector bending
  85.         _SKELTON.SH    Template for future .SH files
  86.  
  87.     WORK\        This folder is intended for temporary storage of a
  88.             project when assembling without PC_SHELL
  89.  
  90.     STINGDEV.S\    This is the main project folder, holding subfolders
  91.             for each project or collection of related projects.
  92.  
  93.         TIME\    This is a collection folder for projects dealing with
  94.             time servers and clients. They are not included 
  95.             here, but can be downloaded separately (TIME.LZH).
  96.  
  97.         SKEL_APP.S        Template for future client/server APPs
  98.         SKELPORT.S        Template for future port STX modules
  99.  
  100.     WORK_ASM.PRJ    This is a project file for assembling without PC_SHELL
  101.  
  102.     DEFAULT.PC        PC_SHELL likes to find the default file in the root
  103.             of the drive used for PURE_C
  104.     STNGPASM.DOC    This doc should be moved elsewhere.  It was put here
  105.             only to make sure you would find it easily.
  106.  
  107. ;----------------------------------------------------------------------------
  108.  
  109. Apologia (mea culpa):
  110. ---------------------
  111.  
  112. As of yet I have not had time to write much documentation for this package,
  113. and since it is quite extensive it will take a long time to complete.
  114. Also, since I still intend this package to grow and develop, there will never
  115. be a time when everything has complete and up to date documentation.
  116.  
  117. I'm sorry but these are the hard facts.  I've written these libs entirely for
  118. my own satisfaction, and though I do intend to document them a bit better, I
  119. am not going to dedicate all my time to it.
  120.  
  121. Experienced old hands at macro assembly will manage anyhow, studying my example
  122. programs as well as the libs themselves.  Those less experienced will just have
  123. to wait for me (or some volunteer) to produce more detailed documents.
  124.  
  125. ;----------------------------------------------------------------------------
  126.  
  127. Origins of this package:
  128. ------------------------
  129.  
  130. All .H files in this package were created by Peter Rottengatter for STinG.
  131.  
  132. Three of the .SH files were translated for PASM from Peters .H files by me.
  133.  
  134. All other files in this package were created by me at one time or another.
  135.  
  136. A few were created during the development of this package, but most were
  137. translated for PASM from my earlier DEVPAC libraries.  As is often the case
  138. this translation caused me to modify and improve many things, so that while
  139. the PASM dialect lacks many powerful features of DEVPAC, the package as a
  140. whole has actually gained strength from the translation side effects.
  141.  
  142. Some of those DEVPAC libraries were created over six years ago, and this is
  143. the reason why they are still marked so in the copyright fields of headers.
  144.  
  145. NB: I plan further modifications and improvements, so once you start using a
  146.     lib do *not* just throw away old versions when new ones arrive.  First
  147.     make sure that your own sources can be adapted to the new libs, and then
  148.     complete the package update.
  149.  
  150. ;----------------------------------------------------------------------------
  151.  
  152. Copyright release by Ulf Ronald Andersson:
  153. ------------------------------------------
  154.  
  155. I release all files of my own creation in this package for free use and also
  156. for free distribution in the form of the original unbroken release package.
  157. No files may be distributed separately, since this undermines usefulness.
  158.  
  159. Peter Rottengatter does have the right to rearrange this package to fit in
  160. as well as possible with other STinG related releases, and to release that
  161. altered package to the public.  They may however not do so themselves.
  162.  
  163. And no distribution at all is allowed for which the distributing agent or any
  164. other person or company charges a fee, or increases a fee otherwise charged.
  165.  
  166. Such distribution is only legally possible by contacting me as well as Peter
  167. Rottengater and get the agreement of both of us to allow such distribution.
  168.  
  169. The above intention of the words "free use" includes the use of the package
  170. to create new software, which will be entirely the property of its author,
  171. and the rights of which will in no way be affected by the use of this
  172. package in its creation.
  173.  
  174. ;----------------------------------------------------------------------------
  175. ;End of file:    STNGPASM.DOC
  176. ;----------------------------------------------------------------------------
  177.